package de.projectgoodmorning.alarm.dialogs;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface.OnClickListener;
import de.projectgoodmorning.alarm.R;
import de.projectgoodmorning.alarm.util.RsrcHelper;

/**
 * Der ConfirmDialog ist ein Hilfsdialog zur Vergewisserung, ob ein
 * Element wirklich geloescht werden soll.
 */
public class ConfirmDialog {
	
	private AlertDialog dialog;
	private Builder builder;
	private Context context;
	
	/**
	 * erstellt einen Dialog
	 * @param activity		erwartet die aktive Activity
	 */
	public ConfirmDialog( Activity activity ) {
		context = activity;
		
		builder = new Builder( activity );
		builder.setMessage( RsrcHelper.getString( R.string.msg_sureDelete, activity ) );
	}
	
	/**
	 * zeigt den Dialog
	 */
	public void show() {
		getDialog().show();
	}
	
	/**
	 * gibt die Instanz des Dialogs zurueck
	 */
	public AlertDialog getDialog() {
		dialog = builder.create();
		return dialog;
	}
	
	/**
	 * legt einen Listener fest, welcher bei der bestaetigung gefeuert wird.
	 * @param listener		erwartet einen View.OnClickListener
	 */
	public void setOnConfirmClicked( OnClickListener listener ) {
		String yes = RsrcHelper.getString( R.string.yes, context );
		builder.setPositiveButton( yes, listener );
	}
	
	/**
	 * legt einen Listener fest, welcher bei der Ablehnung des 
	 * Dialogs gefeuert wird.
	 * @param listener		erwartet einen View.OnClickListener
	 */
	public void setOnCancelClicked( OnClickListener listener ) {
		String no = RsrcHelper.getString( R.string.no, context );
		builder.setCancelable( true );
		builder.setNegativeButton( no, listener );
	}
}
